<template>
	<slot :controller="controller" :store="store" :model="model">
		<AppForm
			ref="editForm"
			v-bind="$attrs"
			:id="controlID"
			:name="model.codeName"
			:class="classNames"
			:data="store.data"
		>
			<AppAnchor
				v-if="store.anchorData.length > 0"
				:controlID="controlID"
				:anchorData="store.anchorData"
			/>
			<div class="control-content app-control-form__content">
				<AppRow :layoutOpts="{ selfLayout: 'TABLE_24COL' }">
					<AppCol
						noRoot
						:visible="store.detailModel.group1.visible"
						:layoutOpts="{
							selfLayout: 'TABLE_24COL',
							parentLayout: 'TABLE_24COL',
							colMD: 24,
						}"
					>
						<template #default="{ slotClass, slotStyle }">
							<slot
								name="group1"
								:controller="controller"
								:store="store"
								:model="model"
								:slotClass="slotClass"
								:slotStyle="slotStyle"
								:actions="{ handleComponentAction }"
							>
								<AppFormGroup
									name="group1"
									v-show="store.detailModel.group1.visible"
									:slotClass="slotClass"
									:slotStyle="slotStyle"
									:layoutOpts="{
										selfLayout: 'TABLE_24COL',
										parentLayout: 'TABLE_24COL',
										colMD: 24,
									}"
									:title="
										$t(
											'CONTROL.DEFORM.OAUTH_CLIENT_DETAILS.MAIN.GROUPPANEL.GROUP1',
											'oauth客户端信息基本信息'
										)
									"
									subCaption=""
									:enableAnchor="false"
									:showMoreItems="store.detailModel.group1.showMoreItems"
									:showMoreMode="store.detailModel.group1.showMoreMode"
									:infoGroupMode="false"
									:titleBarCloseMode="0"
									:showCaption="false"
									:uIActionGroup="store.detailModel.group1.uIActionGroup"
									@component-action="(actionParam: any) => { handleComponentAction(controller, actionParam) }"
								>
									<AppCol
										noRoot
										:visible="store.detailModel.client_name.visible"
										:layoutOpts="{
											parentLayout: 'TABLE_24COL',
											colLG: 24,
											colMD: 24,
										}"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="client_name"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="client_name"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="应用名称"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="store.detailModel.client_name.valueRule"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="client_nameEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppInput
																v-bind="{ editorType: 'TEXTBOX' }"
																type="text"
																style=""
																name="client_name"
																:isDebounce="false"
																:disabled="
																	store.detailModel.client_name.disabled
																"
																:value="store.data.client_name"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.grouppanel1.visible"
										:layoutOpts="{
											selfLayout: 'TABLE_24COL',
											parentLayout: 'TABLE_24COL',
											colMD: 24,
										}"
									>
										<template #default="{ slotClass, slotStyle }">
											<slot
												name="grouppanel1"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormGroup
													name="grouppanel1"
													v-show="store.detailModel.grouppanel1.visible"
													:slotClass="slotClass"
													:slotStyle="slotStyle"
													:layoutOpts="{
														selfLayout: 'TABLE_24COL',
														parentLayout: 'TABLE_24COL',
														colMD: 24,
													}"
													title=""
													:enableAnchor="false"
													:showMoreItems="
														store.detailModel.grouppanel1.showMoreItems
													"
													:showMoreMode="
														store.detailModel.grouppanel1.showMoreMode
													"
													:infoGroupMode="false"
													:titleBarCloseMode="0"
													:showCaption="false"
													:uIActionGroup="
														store.detailModel.grouppanel1.uIActionGroup
													"
													@component-action="(actionParam: any) => { handleComponentAction(controller, actionParam) }"
												>
													<AppCol
														noRoot
														:visible="store.detailModel.client_id.visible"
														:layoutOpts="{
															parentLayout: 'TABLE_24COL',
															colLG: 11,
															colMD: 11,
														}"
													>
														<template v-slot:default="{ slotStyle, slotClass }">
															<slot
																name="client_id"
																:controller="controller"
																:store="store"
																:model="model"
																:slotClass="slotClass"
																:slotStyle="slotStyle"
																:actions="{ handleComponentAction }"
															>
																<AppFormItem
																	name="client_id"
																	:slotStyle="slotStyle"
																	:slotClass="slotClass"
																	label="client_id"
																	labelPos="LEFT"
																	:labelWidth="130"
																	:showLabel="true"
																	:enableAnchor="false"
																	:rules="store.detailModel.client_id.valueRule"
																	:emptyCaption="false"
																>
																	<div class="form-editor-container">
																		<slot
																			name="client_idEditor"
																			:controller="controller"
																			:store="store"
																			:model="model"
																			:actions="{ handleComponentAction }"
																		>
																			<AppInput
																				v-bind="{ editorType: 'TEXTBOX' }"
																				type="text"
																				style=""
																				name="client_id"
																				:isDebounce="false"
																				:disabled="
																					store.detailModel.client_id.disabled
																				"
																				:value="store.data.client_id"
																				@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
																			/>
																		</slot>
																	</div>
																</AppFormItem>
															</slot>
														</template>
													</AppCol>
													<AppCol
														noRoot
														:visible="store.detailModel.client_secret.visible"
														:layoutOpts="{
															parentLayout: 'TABLE_24COL',
															colLG: 11,
															colMD: 11,
														}"
													>
														<template v-slot:default="{ slotStyle, slotClass }">
															<slot
																name="client_secret"
																:controller="controller"
																:store="store"
																:model="model"
																:slotClass="slotClass"
																:slotStyle="slotStyle"
																:actions="{ handleComponentAction }"
															>
																<AppFormItem
																	name="client_secret"
																	:slotStyle="slotStyle"
																	:slotClass="slotClass"
																	label="client_secret"
																	labelPos="LEFT"
																	:labelWidth="130"
																	:showLabel="true"
																	:enableAnchor="false"
																	:rules="
																		store.detailModel.client_secret.valueRule
																	"
																	:emptyCaption="false"
																>
																	<div class="form-editor-container">
																		<slot
																			name="client_secretEditor"
																			:controller="controller"
																			:store="store"
																			:model="model"
																			:actions="{ handleComponentAction }"
																		>
																			<AppInput
																				v-bind="{ editorType: 'TEXTBOX' }"
																				type="text"
																				style=""
																				name="client_secret"
																				:isDebounce="false"
																				:disabled="
																					store.detailModel.client_secret
																						.disabled
																				"
																				:value="store.data.client_secret"
																				@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
																			/>
																		</slot>
																	</div>
																</AppFormItem>
															</slot>
														</template>
													</AppCol>
													<AppCol
														noRoot
														:visible="
															store.detailModel.generateclientsecret.visible
														"
														:layoutOpts="{
															parentLayout: 'TABLE_24COL',
															colLG: 2,
															colMD: 2,
														}"
													>
														<slot
															name="generateclientsecret"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppFormButton
																name="generateclientsecret"
																:disabled="
																	store.detailModel.generateclientsecret
																		.disabled
																"
																:showCaption="true"
																caption="生成密钥"
																:uIAction="
																	store.detailModel.generateclientsecret
																		.uIAction
																"
																@component-action="(actionParam: any) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</AppCol>
												</AppFormGroup>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.web_server_redirect_uri.visible"
										:layoutOpts="{ parentLayout: 'TABLE_24COL', colMD: 24 }"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="web_server_redirect_uri"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="web_server_redirect_uri"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="认证地址"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="
														store.detailModel.web_server_redirect_uri.valueRule
													"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="web_server_redirect_uriEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppInput
																placeholder="授权回退地址，回车或分号分隔"
																v-bind="{ editorType: 'TEXTAREA' }"
																type="textarea"
																style=""
																name="web_server_redirect_uri"
																:isDebounce="false"
																:disabled="
																	store.detailModel.web_server_redirect_uri
																		.disabled
																"
																:value="store.data.web_server_redirect_uri"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.authorized_grant_types.visible"
										:layoutOpts="{ parentLayout: 'TABLE_24COL', colMD: 24 }"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="authorized_grant_types"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="authorized_grant_types"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="授权方式"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="
														store.detailModel.authorized_grant_types.valueRule
													"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="authorized_grant_typesEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppDropdownList
																codeListTag="oauth2__Oauth2_grant_types"
																codeListType="STATIC"
																v-bind="{ editorType: 'MDROPDOWNLIST' }"
																:multiple="true"
																:context="store.context"
																:viewParams="store.viewParams"
																style=""
																name="authorized_grant_types"
																:disabled="
																	store.detailModel.authorized_grant_types
																		.disabled
																"
																:value="store.data.authorized_grant_types"
																:data="store.data"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.grouppanel3.visible"
										:layoutOpts="{
											selfLayout: 'TABLE_24COL',
											parentLayout: 'TABLE_24COL',
											colMD: 24,
										}"
									>
										<template #default="{ slotClass, slotStyle }">
											<slot
												name="grouppanel3"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormGroup
													name="grouppanel3"
													v-show="store.detailModel.grouppanel3.visible"
													:slotClass="slotClass"
													:slotStyle="slotStyle"
													:layoutOpts="{
														selfLayout: 'TABLE_24COL',
														parentLayout: 'TABLE_24COL',
														colMD: 24,
													}"
													title=""
													:enableAnchor="false"
													:showMoreItems="
														store.detailModel.grouppanel3.showMoreItems
													"
													:showMoreMode="
														store.detailModel.grouppanel3.showMoreMode
													"
													:infoGroupMode="false"
													:titleBarCloseMode="0"
													:showCaption="false"
													:uIActionGroup="
														store.detailModel.grouppanel3.uIActionGroup
													"
													@component-action="(actionParam: any) => { handleComponentAction(controller, actionParam) }"
												>
													<AppCol
														noRoot
														:visible="store.detailModel.scope.visible"
														:layoutOpts="{
															parentLayout: 'TABLE_24COL',
															colLG: 12,
															colMD: 12,
														}"
													>
														<template v-slot:default="{ slotStyle, slotClass }">
															<slot
																name="scope"
																:controller="controller"
																:store="store"
																:model="model"
																:slotClass="slotClass"
																:slotStyle="slotStyle"
																:actions="{ handleComponentAction }"
															>
																<AppFormItem
																	name="scope"
																	:slotStyle="slotStyle"
																	:slotClass="slotClass"
																	label="作用域"
																	labelPos="LEFT"
																	:labelWidth="130"
																	:showLabel="true"
																	:enableAnchor="false"
																	:rules="store.detailModel.scope.valueRule"
																	:emptyCaption="false"
																>
																	<div class="form-editor-container">
																		<slot
																			name="scopeEditor"
																			:controller="controller"
																			:store="store"
																			:model="model"
																			:actions="{ handleComponentAction }"
																		>
																			<AppDropdownList
																				codeListTag="oauth2__Oauth2_grant_scope"
																				codeListType="STATIC"
																				v-bind="{ editorType: 'MDROPDOWNLIST' }"
																				:multiple="true"
																				:context="store.context"
																				:viewParams="store.viewParams"
																				style=""
																				name="scope"
																				:disabled="
																					store.detailModel.scope.disabled
																				"
																				:value="store.data.scope"
																				:data="store.data"
																				@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
																			/>
																		</slot>
																	</div>
																</AppFormItem>
															</slot>
														</template>
													</AppCol>
													<AppCol
														noRoot
														:visible="store.detailModel.autoapprove.visible"
														:layoutOpts="{
															parentLayout: 'TABLE_24COL',
															colLG: 12,
															colMD: 12,
														}"
													>
														<template v-slot:default="{ slotStyle, slotClass }">
															<slot
																name="autoapprove"
																:controller="controller"
																:store="store"
																:model="model"
																:slotClass="slotClass"
																:slotStyle="slotStyle"
																:actions="{ handleComponentAction }"
															>
																<AppFormItem
																	name="autoapprove"
																	:slotStyle="slotStyle"
																	:slotClass="slotClass"
																	label="自动批准授予权限"
																	labelPos="LEFT"
																	:labelWidth="130"
																	:showLabel="true"
																	:enableAnchor="false"
																	:rules="
																		store.detailModel.autoapprove.valueRule
																	"
																	:emptyCaption="false"
																>
																	<div class="form-editor-container">
																		<slot
																			name="autoapproveEditor"
																			:controller="controller"
																			:store="store"
																			:model="model"
																			:actions="{ handleComponentAction }"
																		>
																			<AppDropdownList
																				codeListTag="oauth2__Oauth2_grant_scope"
																				codeListType="STATIC"
																				v-bind="{ editorType: 'MDROPDOWNLIST' }"
																				:multiple="true"
																				:context="store.context"
																				:viewParams="store.viewParams"
																				style=""
																				name="autoapprove"
																				:disabled="
																					store.detailModel.autoapprove.disabled
																				"
																				:value="store.data.autoapprove"
																				:data="store.data"
																				@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
																			/>
																		</slot>
																	</div>
																</AppFormItem>
															</slot>
														</template>
													</AppCol>
												</AppFormGroup>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.authorities.visible"
										:layoutOpts="{ parentLayout: 'TABLE_24COL', colMD: 24 }"
									>
										<template v-slot:default="{ slotStyle, slotClass }">
											<slot
												name="authorities"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormItem
													name="authorities"
													:slotStyle="slotStyle"
													:slotClass="slotClass"
													label="权限资源"
													labelPos="LEFT"
													:labelWidth="130"
													:showLabel="true"
													:enableAnchor="false"
													:rules="store.detailModel.authorities.valueRule"
													:emptyCaption="false"
												>
													<div class="form-editor-container">
														<slot
															name="authoritiesEditor"
															:controller="controller"
															:store="store"
															:model="model"
															:actions="{ handleComponentAction }"
														>
															<AppInput
																placeholder="授权角色标记，回车或分号分隔"
																v-bind="{
																	editorType: 'TEXTAREA_10',
																	HEIGHT: 200,
																}"
																:isTextArea10="true"
																type="textarea"
																style="height: 200px"
																name="authorities"
																:isDebounce="false"
																:disabled="
																	store.detailModel.authorities.disabled
																"
																:value="store.data.authorities"
																@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
															/>
														</slot>
													</div>
												</AppFormItem>
											</slot>
										</template>
									</AppCol>
									<AppCol
										noRoot
										:visible="store.detailModel.grouppanel2.visible"
										:layoutOpts="{
											selfLayout: 'TABLE_24COL',
											parentLayout: 'TABLE_24COL',
											colMD: 24,
										}"
									>
										<template #default="{ slotClass, slotStyle }">
											<slot
												name="grouppanel2"
												:controller="controller"
												:store="store"
												:model="model"
												:slotClass="slotClass"
												:slotStyle="slotStyle"
												:actions="{ handleComponentAction }"
											>
												<AppFormGroup
													name="grouppanel2"
													v-show="store.detailModel.grouppanel2.visible"
													:slotClass="slotClass"
													:slotStyle="slotStyle"
													:layoutOpts="{
														selfLayout: 'TABLE_24COL',
														parentLayout: 'TABLE_24COL',
														colMD: 24,
													}"
													title=""
													:enableAnchor="false"
													:showMoreItems="
														store.detailModel.grouppanel2.showMoreItems
													"
													:showMoreMode="
														store.detailModel.grouppanel2.showMoreMode
													"
													:infoGroupMode="false"
													:titleBarCloseMode="0"
													:showCaption="false"
													:uIActionGroup="
														store.detailModel.grouppanel2.uIActionGroup
													"
													@component-action="(actionParam: any) => { handleComponentAction(controller, actionParam) }"
												>
													<AppCol
														noRoot
														:visible="
															store.detailModel.access_token_validity.visible
														"
														:layoutOpts="{
															parentLayout: 'TABLE_24COL',
															colLG: 12,
															colMD: 12,
														}"
													>
														<template v-slot:default="{ slotStyle, slotClass }">
															<slot
																name="access_token_validity"
																:controller="controller"
																:store="store"
																:model="model"
																:slotClass="slotClass"
																:slotStyle="slotStyle"
																:actions="{ handleComponentAction }"
															>
																<AppFormItem
																	name="access_token_validity"
																	:slotStyle="slotStyle"
																	:slotClass="slotClass"
																	label="accessToken有效期"
																	labelPos="LEFT"
																	:labelWidth="150"
																	:showLabel="true"
																	:enableAnchor="false"
																	:rules="
																		store.detailModel.access_token_validity
																			.valueRule
																	"
																	:emptyCaption="false"
																>
																	<div class="form-editor-container">
																		<slot
																			name="access_token_validityEditor"
																			:controller="controller"
																			:store="store"
																			:model="model"
																			:actions="{ handleComponentAction }"
																		>
																			<AppInput
																				v-bind="{
																					editorType: 'TEXTBOX',
																					unit: '秒',
																				}"
																				type="text"
																				style=""
																				name="access_token_validity"
																				:isDebounce="false"
																				:disabled="
																					store.detailModel
																						.access_token_validity.disabled
																				"
																				:value="
																					store.data.access_token_validity
																				"
																				@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
																			/>
																		</slot>
																	</div>
																</AppFormItem>
															</slot>
														</template>
													</AppCol>
													<AppCol
														noRoot
														:visible="
															store.detailModel.refresh_token_validity.visible
														"
														:layoutOpts="{
															parentLayout: 'TABLE_24COL',
															colLG: 12,
															colMD: 12,
														}"
													>
														<template v-slot:default="{ slotStyle, slotClass }">
															<slot
																name="refresh_token_validity"
																:controller="controller"
																:store="store"
																:model="model"
																:slotClass="slotClass"
																:slotStyle="slotStyle"
																:actions="{ handleComponentAction }"
															>
																<AppFormItem
																	name="refresh_token_validity"
																	:slotStyle="slotStyle"
																	:slotClass="slotClass"
																	label="refreshToken有效期"
																	labelPos="LEFT"
																	:labelWidth="150"
																	:showLabel="true"
																	:enableAnchor="false"
																	:rules="
																		store.detailModel.refresh_token_validity
																			.valueRule
																	"
																	:emptyCaption="false"
																>
																	<div class="form-editor-container">
																		<slot
																			name="refresh_token_validityEditor"
																			:controller="controller"
																			:store="store"
																			:model="model"
																			:actions="{ handleComponentAction }"
																		>
																			<AppInput
																				v-bind="{
																					editorType: 'TEXTBOX',
																					unit: '秒',
																				}"
																				type="text"
																				style=""
																				name="refresh_token_validity"
																				:isDebounce="false"
																				:disabled="
																					store.detailModel
																						.refresh_token_validity.disabled
																				"
																				:value="
																					store.data.refresh_token_validity
																				"
																				@component-action="(actionParam: IEvent<string>) => { handleComponentAction(controller, actionParam) }"
																			/>
																		</slot>
																	</div>
																</AppFormItem>
															</slot>
														</template>
													</AppCol>
												</AppFormGroup>
											</slot>
										</template>
									</AppCol>
								</AppFormGroup>
							</slot>
						</template>
					</AppCol>
				</AppRow>
			</div>
		</AppForm>
	</slot>
</template>
<script setup lang="ts">
// 基于template/src/widgets/{{appEntities}}/{{ctrls@FORM}}-form/{{spinalCase ctrl.codeName}}-form-base.vue.hbs生成

import { Ref } from 'vue';
import { AppAnchor } from '@components/common/anchor';
import { AppCol } from '@/components/common/col';
import { AppRow } from '@/components/common/row';
import {
	AppForm,
	AppFormPage,
	AppFormGroup,
	AppFormTabPage,
	AppFormItem,
	AppFormButton,
	AppFormDruipart,
	AppFormIframe,
	AppFormRaw,
	AppFormMdCtrl,
	AppFormMdCtrlRepeater,
} from '@components/widgets/form';
import {
	IEvent,
	EditFormActionType,
	IEditFormAbility,
	IEditFormStore,
	IParam,
} from '@/core';
import { useProps, useBasic, useAction, useController } from './main-form-hook';

const editForm: Ref = ref(null);

// 输入参数
const props = defineProps(useProps());

// 基础数据
const {
	controlID,
	getClassNames,
	model,
	useNavParamsBind,
	useEventBind,
	handleActionClick,
	handleComponentAction,
} = useBasic(props);

const emit = defineEmits<{
	(
		event: 'ctrl-action',
		name: string,
		action: EditFormActionType,
		data: IParam[]
	): void;
	(event: 'ctrl-init', name: string, data: IEditFormAbility): void;
	(event: 'ctrl-destroy', name: string, data: IParam): void;
}>();

const evt = useEventBind(emit);
//  部件样式名
const classNames = computed(() => {
	return getClassNames(props);
});

//  表单控制器
const controller = useController(props, evt, { controlID, editForm });

useNavParamsBind(controller, props);

const store: IEditFormStore = controller.getStore();

const ctrlService = controller.getCtrlService();

onMounted(() => {
	controller.ctrlMounted();
});
onUnmounted(() => {
	controller.ctrlDestroy();
});
</script>
